博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flask 学习笔记 mvc ,sqlalchemy(insert,update)
阅读量:6989 次
发布时间:2019-06-27

本文共 3072 字,大约阅读时间需要 10 分钟。

hot3.png

# 模型类from sqlalchemy import Column, Integer, Stringfrom application.database.mysqldb import Baseclass UserModel(Base):    __tablename__ = 'user'    id = Column(Integer, primary_key=True)    name = Column(String)    def __init__(self, id=None, name=None):        self.id = id        self.name = name

 

# -*- coding: utf-8 -*-# 数据库连接类from sqlalchemy import create_enginefrom sqlalchemy.orm import scoped_session, sessionmakerfrom sqlalchemy.ext.declarative import declarative_baseengine = create_engine("mysql+pymysql://root:123456@127.0.0.1:3306/test?charset=utf8",                       convert_unicode=True,                       echo=True)db_session = scoped_session(sessionmaker(autocommit=False,                                         autoflush=False,                                         bind=engine))Base = declarative_base()Base.db_session = db_sessionBase.query = db_session.query_property()def init_db():    # 在这里导入所有的可能与定义模型有关的模块,这样他们才会合适地    # 在 metadata 中注册。否则,您将不得不在第一次执行 init_db() 时    # 先导入他们。    Base.metadata.create_all(bind=engine)

 

# -*-coding: utf-8 -*-# 控制器类from flask import render_template, make_response, jsonify, request, flashimport jsonfrom flask.views import Viewfrom application.models.UserModel import UserModelclass User(View):    '''    用户类    '''    methods = ['GET', 'POST']    def dispatch_request(self):        user = UserModel.query.filter(UserModel.id == 2).first()        user_obj = {"id":user.id, "name":user.name}        return jsonify(user_obj)class UserLogin(View):    methods = ['GET', 'POST']    def dispatch_request(self):        if request.method == 'POST':            username = request.form['username']            user = UserModel.query.filter(UserModel.name == username).first()            if user is None:                _user_save = UserModel(name=username)                UserModel.db_session.add(_user_save)                UserModel.db_session.commit()                flash(u"登陆失败!")            else:                UserModel.query.filter(UserModel.id > 2).update({UserModel.name:'tets2'})                UserModel.db_session.commit()                flash(u"登陆成功!")            return render_template('user/login.html')        else:            return render_template('user/login.html')
{% block head %}
{% block title %}{% endblock %} - My Webpage{% endblock %}{% with messages = get_flashed_messages() %} {% if messages %}
    {% for message in messages %}
  • {
    { message }}
  • {% endfor %}
{% endif %}{% endwith %}
{% block content %}{% endblock %}
{% block footer %}
{% endblock %}
{% extends "common/header.html" %}{% block head %} {
{ super() }} {% endblock %}{% block content %}
{% endblock %}{% block footer %} {
{ super() }}{% endblock %}

转载于:https://my.oschina.net/phper1234/blog/1498969

你可能感兴趣的文章
课程作业
查看>>
CSS shapes布局
查看>>
vue中如何实现pdf文件预览?
查看>>
ios7官方推荐icon尺寸
查看>>
VUE项目的目录关系
查看>>
基于pygame实现飞机大战【面向过程】
查看>>
Android操作HTTP实现与服务器通信(转)
查看>>
5秒速记php数组排序函数
查看>>
【分享】Objective-C Runtime
查看>>
Spring_Aop_(二)
查看>>
MySQL execute dynamic sql script.
查看>>
Collection框架
查看>>
Serv U 占用80端口
查看>>
20190320-每周刷题
查看>>
迁移EXT4
查看>>
python 基础笔记十二 - 模块&第三方模块安装
查看>>
AV Foundation 学习
查看>>
WP7上HttpWebRequest的用法
查看>>
3:16: 错误: expected declaration specifiers or ‘...’ before string constant
查看>>
大白话5分钟带你走进人工智能-第二十五节决策树系列之信息增益和信息增益率(4)...
查看>>